package com.un.ebs.quality.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.un.ebs.quality.domain.QualityCheckExt;
import com.un.ebs.quality.dto.QualityCheckByInventoryDto;
import com.un.ebs.quality.dto.QualityCheckByProcessDto;
import com.un.ebs.quality.dto.QualityCheckPlanDto;
import com.un.ebs.quality.enums.QualityTypeEnum;

import java.util.Date;
import java.util.List;

/**
 * (QualityCheck)表服务接口
 *
 * @author liubo
 * @since 2020-11-15 20:05:16
 */
public interface QualityCheckService {

    /**
     * 设定生产订单过程检的计划
     *
     * @param productionOrderId
     * @param per               百分比，例如，per=10，代表10%
     */
    void updateCheckPlanByProcess(String productionOrderId, int per);

    /**
     * 设置出入库检的检验计划
     *
     * @param inventoryNoteId
     * @param per             百分比，例如，per=10，代表10%
     */
    void updateCheckPlanByInventory(String inventoryNoteId, int per);

    /**
     * 过程检
     *
     * @param req
     */
    void check(List<QualityCheckByProcessDto> req);

    void checkPassByProduction(String productionWorkOrderId);

    void checkPassByPurchase(String id);

    /**
     * 入库或出库检
     *
     * @param req
     */
    void check(QualityCheckByInventoryDto req);

    List<QualityCheckPlanDto> queryCheckPlan(String searchText, QualityTypeEnum type);

    IPage<QualityCheckExt> query(String searchText, QualityTypeEnum type, Date startDate,Date endDate, int pageSize, int pageIndex);
}